package com.example.educationai.service;

import com.example.educationai.entity.ClassEntity;
import com.example.educationai.entity.SimpleUser;
import java.util.List;

public interface ClassService {
    /**
     * 获取教师的所有班级
     * @param teacher 教师对象
     * @return 班级列表
     */
    List<ClassEntity> getTeacherClasses(SimpleUser teacher);

    /**
     * 根据教师ID获取班级列表
     * @param teacherId 教师ID
     * @return 班级列表
     */
    List<ClassEntity> findByTeacherId(Long teacherId);

    /**
     * 保存班级信息
     * @param classEntity 班级实体
     * @return 保存后的班级实体
     */
    ClassEntity save(ClassEntity classEntity);

    /**
     * 根据ID删除班级
     * @param id 班级ID
     */
    void deleteById(Long id);

    /**
     * 根据ID获取班级
     * @param id 班级ID
     * @return 班级实体
     */
    ClassEntity getClass(Long id);

    /**
     * 更新班级信息
     * @param classEntity 班级实体
     * @return 更新后的班级实体
     */
    ClassEntity updateClass(ClassEntity classEntity);

    boolean existsByClassNameAndGrade(String className, String grade);
} 